    
package eric.mpab.model {
    
  import eric.mpab.model.Account;
  import mx.collections.ArrayCollection;

  import mx.events.PropertyChangeEvent;
    
  import flash.events.EventDispatcher;    
  import mx.core.IUID;
  import mx.utils.UIDUtil;
    
  /* [ExcludeClass] */
  public class _Account extends flash.events.EventDispatcher implements mx.core.IUID {
  
    /* Constructor */
    public function _Account():void {
      super();
    }
    
    // implementors of IUID must have a uid property
    private var _uid:String;
    
    [Transient]
    [Bindable(event="propertyChange")] 
    public function get uid():String {
      // If the uid hasn't been assigned a value, just create a new one.
      if (_uid == null) {
        _uid = mx.utils.UIDUtil.createUID();
      }
      return _uid;
    }

    public function set uid(value:String):void {
      const previous:String = _uid;
      if (previous != value) {
        _uid = value;
        dispatchEvent(
          mx.events.PropertyChangeEvent.createUpdateEvent(
            this, "uid", previous, value
          )
        );            
      }
    }
    
      
    /* Property "id" */
    private var _id:Number;
    
    [Bindable(event="propertyChange")]
	public function get id():Number {
      return _id;
    }
    public function set id(value:Number):void {
      const previous:Number = this._id;
      if (previous != value) {
        _id = value;
        const ev:mx.events.PropertyChangeEvent = mx.events.PropertyChangeEvent.createUpdateEvent(
          this, "id", previous, _id
        );
        dispatchEvent(ev);
      }
    }
    
    /* Property "type" */
    private var _type:String;
    
    [Bindable(event="propertyChange")]
	public function get type():String {
      return _type;
    }
    public function set type(value:String):void {
      const previous:String = this._type;
      if (previous != value) {
        _type = value;
        const ev:mx.events.PropertyChangeEvent = mx.events.PropertyChangeEvent.createUpdateEvent(
          this, "type", previous, _type
        );
        dispatchEvent(ev);
      }
    }
    
    /* Property "symbol" */
    private var _symbol:String;
    
    [Bindable(event="propertyChange")]
	public function get symbol():String {
      return _symbol;
    }
    public function set symbol(value:String):void {
      const previous:String = this._symbol;
      if (previous != value) {
        _symbol = value;
        const ev:mx.events.PropertyChangeEvent = mx.events.PropertyChangeEvent.createUpdateEvent(
          this, "symbol", previous, _symbol
        );
        dispatchEvent(ev);
      }
    }
    
    /* Property "name" */
    private var _name:String;
    
    [Bindable(event="propertyChange")]
	public function get name():String {
      return _name;
    }
    public function set name(value:String):void {
      const previous:String = this._name;
      if (previous != value) {
        _name = value;
        const ev:mx.events.PropertyChangeEvent = mx.events.PropertyChangeEvent.createUpdateEvent(
          this, "name", previous, _name
        );
        dispatchEvent(ev);
      }
    }
    
    /* Property "description" */
    private var _description:String;
    
    [Bindable(event="propertyChange")]
	public function get description():String {
      return _description;
    }
    public function set description(value:String):void {
      const previous:String = this._description;
      if (previous != value) {
        _description = value;
        const ev:mx.events.PropertyChangeEvent = mx.events.PropertyChangeEvent.createUpdateEvent(
          this, "description", previous, _description
        );
        dispatchEvent(ev);
      }
    }
    
    /* Property "parent" */
    private var _parent:eric.mpab.model.Account;
    
    [Bindable(event="propertyChange")]
	public function get parent():eric.mpab.model.Account {
      return _parent;
    }
    public function set parent(value:eric.mpab.model.Account):void {
      const previous:eric.mpab.model.Account = this._parent;
      if (previous != value) {
        _parent = value;
        const ev:mx.events.PropertyChangeEvent = mx.events.PropertyChangeEvent.createUpdateEvent(
          this, "parent", previous, _parent
        );
        dispatchEvent(ev);
      }
    }
    
    /* Property "children" */
    private var _children:mx.collections.ArrayCollection;
    
    [Bindable(event="propertyChange")]
	public function get children():mx.collections.ArrayCollection {
      return _children;
    }
    public function set children(value:mx.collections.ArrayCollection):void {
      const previous:mx.collections.ArrayCollection = this._children;
      if (previous != value) {
        _children = value;
        const ev:mx.events.PropertyChangeEvent = mx.events.PropertyChangeEvent.createUpdateEvent(
          this, "children", previous, _children
        );
        dispatchEvent(ev);
      }
    }
    
  }
  
}
      